.. :validated: 3.2.0

Настройка программной карты на примере карты хостов
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Программная карта ``/etc/auto.smb`` дает возможность просматривать CIFS-ресурсы примерно так же, как это можно настроить с помощью специальной карты ``-hosts``. Если в главной карте определить строку ``/cifs  /etc/auto.smb``, то при просмотре содержимого каталога ``/cifs/fs-1.ald.company.lan`` вы увидите общие папки с этого файлового сервера. Список общих папок извлекается по протоколу CIFS непосредственно с указанного сервера с помощью утилиты **smbclient**.

.. code-block:: bash

    admin@pc-1:~$ ls -l /cifs/fs-1.ald.company.lan/
    итого 0
    drwxr-xr-x 2 root root 0 окт 20 15:11 admin
    drwxr-xr-x 2 root root 0 окт 20 15:11 homes
    drwxr-xr-x 2 root root 0 окт 20 15:11 share

Данный скрипт (``/etc/auto.smb``) использует утилиту ``mount`` (и её опции) для монтирования SMB-ресурсов. Предполагается, что файлы с ключами находятся в файловой системе клиента в ``/etc/creds``, или существует Kerberos-кэш, позволяющий совершить аутентификацию. В противном случае скрипт пробует смонтировать ресурсы анонимно (с помощью опции guest, утилиты mount). Подробнее -- в комментариях в самом скрипте. Если клиент находится в Kerberos-среде и необходимо оставить только этот способ аутентификации (чтобы не было попыток монтирования анонимно), нужно закомментировать следующий блок кода, за исключением двух строк:

.. code-block:: bash

    cat /etc/auto.smb
    ...
    #creds=/etc/creds/$key
    #
    #if [ -f "$creds" ]; then
    #    opts="$opts"',uid=$UID,gid=$GID,credentials='"$creds"
    #    smbopts="-A $creds"
    #else
    #    get_krb5_cache
    #    if [ -n "$cache" ]; then
            opts="$opts"',multiuser,cruid=$UID,sec=krb5i'
            smbopts="-k"
    #       export KRB5CCNAME=$cache
    #    else
    #        opts="$opts"',guest'
    #        smbopts="-N"
    #    fi
    #fi
    ...
